// house_pkg/pages/locate/index.ts
import qqMap from '../../../utils/qqmap'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    address: '',
    points: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    // 首先获取当前位置
    this.getLocation()
  },

  // 获取当前位置的函数
  async getLocation() {
    const res = await wx.getLocation()
    // 根据经纬度获取地址
    this.getAddress(res.latitude, res.longitude)
  },

  // 可以让用户选择位置, 获取经纬度
  async chooseLocation() {
    const res = await wx.chooseLocation()
    // 根据经纬度获取地址
    this.getAddress(res.latitude, res.longitude)
  },

  // 获取地址
  getAddress(latitude, longitude) {
    qqMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: ({ result: { address } }) => {
        // 注意这里的多层解构写法
        console.log('逆解析成功', address);
        this.setData({ address })
      },
      fail(err) {
        console.log('报错', err);
      }
    })


    // 上面的代码是进行逆解析, 知道用户目前选择的位置在哪
    // 接下来只需要根据这个位置搜搜附近小区即可
    qqMap.search({
      keyword: '住宅小区',
      location: [latitude, longitude].join(','),
      page_size: 5,
      success: ({ data }) => {
        console.log('搜索成功', data);
        const points = data.map(item => {
          return {
            id: item.id,
            title: item.title
          }
        })

        this.setData({ points })
      },
      fail(err) {
        console.log('报错', err);
      }
    })
  },

  goBuilding(ev) {
    // ev.mark.point
    wx.navigateTo({
      url: `/house_pkg/pages/building/index?point=${ev.mark.point}`
    })
  }
})